import Toast from '../../miniprogram_npm/_vant-weapp@0.5.7@vant-weapp/toast/toast';//引用弹窗样式
import { refund, submit, uploader} from '../../config/https'; // 退款、售后 , 提交申请售后 ，上传图片

const app = getApp()
Page({

  /**
   * 页面的初始数据a
   */
  data: {
    placeholder:'请您在此处描述详细问题',
    radiotext: [],        //单选框
    imgbox: [],           //添加的照片
    imgboxto:[],          //图片上传返回的图片链接
    ison:true,            //没有照片隐藏
    show: false,          //弹出层
    contener:"请选择",     //请选择
    id:'',                //此项商品id
    afterSales:[],        //接收退款数据
    goods:[],             //产品数据
    navBack:false, 
    value: '',             //退款详细说明

    status: '',              //订单状态 -1已取消|0待付款| 1待发货、待取货|2待收货| 3已完成|5待退款，拒绝售后
  },
  gox(e){ //点击勾选产品
    let { id, wxzgox} = e.currentTarget.dataset; //点击的id
    let goods = this.data.goods;//数据列表
    for(let i in goods){
      if (goods[i].goodsid==id){
        goods[i].wxzgox = !wxzgox
      }
    }
    this.setData({ wxzgox, goods})
  },





  iptval(e){  //退款详细说明
    this.setData({ value: e.detail.value})
  },
  onClick(e) {//单选框
  //console.log(e)
    const index= e.currentTarget.dataset.index;//获取单选项的下标
    const { text } = e.currentTarget.dataset;//获取name
    this.setData({ radio:index, contener: text }); //radio选中的name
    this.setData({ show: false });
  },

  onClose() { //点击分享
    let show = !this.data.show;
    this.setData({ show: show });
  },
  
  btn2(){//点击关闭
    this.setData({ show: false, contener: "请选择", radio:"" });//点击关闭 取消选项
  },
//-------------------------------------------------------------------- 
  chooseimage() {//点击添加图片
    var this_ = this;
    let imgboxto=this_.data.imgboxto;
    wx.chooseImage({ //从本地相册选择图片或使用相机拍照。
      count:9, //上传图片的最大值
      sizeType: ['original', 'compressed'], //指定是原图还是压缩图 
      sourceType: ['album', 'camera'], // 指定是相册选图,还是使用相机
      success: function (res) { //成功回调
        let imgbox = this_.data.imgbox;//获取data里面的图片空数组
        for (let i in res.tempFiles){
          if (imgbox.length<9){
            imgbox.push(res.tempFiles[i].path)//把图片的地址添加进data图片数组
            //上传图片接口
            wx.uploadFile({
              url: 'https://jxzmys.com/app/index.php?i=2&c=entry&m=jrshop&do=mobile&r=util.uploader&file=file',
              filePath: res.tempFiles[i].path,
              name: 'file',
              method: 'POST',
              formData: {
                'user': 'test'
              },
              success(res) { //上传成功
                let dataPath = JSON.parse(res.data) //成功返回的数据  把字符串转换成json对象格式  
                imgboxto.push(dataPath.filename)
                this_.setData({ imgboxto })
              }, fail(err) { //上传失败
                console.log("上传失败")
              },
            })
            this_.setData({ imgbox })//最后赋值
          } else if (imgbox.length>=9){
            return;
          }
        }

      }
    })
  },
  ckimg(e) { //点击其中一项图片 让他放大
    var src = e.target.dataset.src;//当前图片的地址
    wx.previewImage({ //预览图片的函数
      current:src, // 当前显示图片的http链接  
      urls: this.data.imgbox // 需要预览的图片http链接列表  
    })
    cosnsole.log(this.data.imgbox)
  },
  sanc(e){//点击删除图片的时候
    var index= e.currentTarget.dataset.index;//当前图片的地址
    console.log(index)
    let imgbox = this.data.imgbox;//获取data里面的图片数组
     imgbox.splice(index, 1)//然后删除当前imgbox数组的这一项
     this.setData({imgbox})
  },

    //-------------------------------------------------------------------- 
  submit(){//点击提交按钮时
    let this_=this;
    let imgbox=this_.data.imgbox; //要上传的图片
    let imgboxto = this_.data.imgboxto; //上传图片返回的图片链接数组
    let goods=this_.data.goods; //产品列表

    let order_goods_id =[]; //创建一个接收订单商品id的空数组
    let amount=0;                   //创建一个接收选中订单商品的总金额
    let refund_price=this_.data.afterSales.refund_price; //其他状态下的退款金额

    if (this.data.status==2){
      for (let i in goods) { //遍历商品是否勾选
        if (goods[i].wxzgox == true) {
          amount = amount + Number(goods[i].refundprice);
          refund_price = amount
          order_goods_id.push(Number(goods[i].order_goods_id))
        }
      }
    }
    console.log(order_goods_id)
    if (this.data.contener=="请选择"){
      Toast("请选择退款原由")
    } else if (this.data.value==''){
      Toast("请描述退款详情")
    }else{
      submit({//提交申请售后数据
        id: this_.data.id, //订单数据id
        rtype: 0,          //退款类型
        reason: this_.data.contener, //退款原因
        content: this_.data.value,          //退款详细说明
        images: this_.data.imgboxto,                     //退款详情图片 数组类型
        price:refund_price, //退款金额 
        order_goods_ids: order_goods_id    //订单商品id的数组
      }).then((res) => { //成功
        Toast("提交成功")
          let interval = setInterval(() => {
            let num = 1;
            num--;
            if (num == 0) {
              wx.navigateBack({
                delta: 1
              })
              clearInterval(interval)
            }
          }, 1000)
      })
 
    }
  },
 
  //-------------------------------------------------------------------- 
  applyForArefund() {   //退款、售后 商品数据
    refund({
      id: this.data.id,

    }).then((res) => {
      for (let i in res.goods) {
        res.goods[i].wxzgox = false
      };
      console.log(res.goods); 
      this.setData({ radiotext: res.reason_arr, goods: res.goods, afterSales: res });
    })
  },
 //-------------------------------------------------------------------- 
  onLoad: function (options) {     /*生命周期函数--监听页面加载*/
    this.setData({ id: options.id, status: Number(options.status)}) //数据id 订单状态status
    console.log(options) 
    this.applyForArefund() //退款、售后 商品数据

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
    
});
